package com.module03.work.demo01;

/*
 *编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打印出来。
 */
public class Demo01 {

    public static void main(String[] args) {
        //原字符串
        String str = new String("ABCD123!@#$%ab");
        System.out.println(str);
        System.out.println("----------------------------------------");
        //创建长度为4的int数组记录大写字母、小写字母、数字和其他字符的个数
        int[] cnt = new int[4];

        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);//使用变量ch记录第i个字符
            if (ch >= 'A' && ch <= 'Z') {//判断第i个字符是否为大写字母
                cnt[0]++;
            } else if (ch >= 'a' && ch <= 'z') {//判断第i个字符是否为小写字母
                cnt[1]++;
            } else if (ch >= '0' && ch <= '9') {//判断第i个字符是否为数字
                cnt[2]++;
            } else {//上述都不满足的话，就为其他字符
                cnt[3]++;
            }
        }
        System.out.println("大写字母有：" + cnt[0] + "个；");
        System.out.println("小写字母有：" + cnt[1] + "个；");
        System.out.println("数字字符有：" + cnt[2] + "个；");
        System.out.println("其他字符有：" + cnt[3] + "个；");
    }
}
